CFLAGS= -g -Wall -Wextra  # -g, -O3 , ... par exemple
LDFLAGS=-ll #-ly # les bibliotheques necessaires
CC=gcc

all: rubic

lex.yy.c: scanner.l
	flex $<
y.tab.c y.tab.h: parse.y
	bison -d -o y.tab.c $<
y.tab.o: y.tab.c y.tab.h
	$(CC) $(CFLAGS) -c $<
table.o: table.c table.h
	$(CC) $(CFLAGS) -c $<
action.o: action.c action.h table.h
	$(CC) $(CFLAGS) -c $<
lex.yy.o: lex.yy.c
	$(CC) $(CFLAGS) -c $<
rubic: y.tab.o lex.yy.o table.o action.o
	$(CC) -o $@ $^ $(LDFLAGS)
test: rubic
	./rubic < test.rb

clean:
	rm *.o lex.yy.c y.tab.h y.tab.c rubic
